package com.ruoyi.module.domain;

import java.math.BigDecimal;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 在线充值对象 fu_recharge
 *
 * @author fubojin
 * @date 2025-01-10
 */
@Data
@ApiModel(value = "在线充值")
@EqualsAndHashCode(callSuper = true)
public class Recharge extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @ApiModelProperty(value = "主键")
    private Long id;

    /**
     * 用户ID
     */
    @Excel(name = "用户ID")
    @ApiModelProperty(value = "用户ID")
    private Long userId;

    /**
     * 充值单位ID
     */
    @Excel(name = "充值单位ID")
    @ApiModelProperty(value = "充值单位ID")
    private Long deptId;

    /**
     * 充值单号
     */
    @Excel(name = "充值单号")
    @ApiModelProperty(value = "充值单号")
    private String rechargeNumber;

    /**
     * 转款类型（ 1-银行, 2-现金, 3-支付宝, 4-微信, 5-其他）
     */
    @Excel(name = "转款类型", readConverterExp = "1=-银行,,2=-现金,,3=-支付宝,,4=-微信,,5=-其他")
    @ApiModelProperty(value = "转款类型（ 1-银行, 2-现金, 3-支付宝, 4-微信, 5-其他）")
    private Integer type;

    /**
     * 充值状态（1-申请，2确认，3-拒绝）
     */
    @Excel(name = "充值状态", readConverterExp = "1=-申请，2确认，3-拒绝")
    @ApiModelProperty(value = "充值状态（1-申请，2确认，3-拒绝）")
    private Integer rechargeStatus;

    /**
     * 充值单位名称
     */
    @Excel(name = "充值单位名称")
    @ApiModelProperty(value = "充值单位名称")
    private String deptName;

    /**
     * 充值金额
     */
    @Excel(name = "充值金额")
    @ApiModelProperty(value = "充值金额")
    private BigDecimal price;

    /**
     * 转账凭证
     */
    @Excel(name = "转账凭证")
    @ApiModelProperty(value = "转账凭证")
    private String img;

    /**
     * 收款账户
     */
    @Excel(name = "收款账户")
    @ApiModelProperty(value = "收款账户")
    private String collectionAccount;

    /**
     * 实际到账/元
     */
    @Excel(name = "实际到账/元")
    @ApiModelProperty(value = "实际到账/元")
    private BigDecimal actualReceipt;

    /**
     * 转账时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "转账时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "转账时间")
    private Date transferTime;


}
